package Dados.SqlServer;

import java.sql.Connection;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import javax.swing.JOptionPane;
import Dados.BancoSql;
import Dados.IDAOEstornoEntrada;
import Negocio.EstornoEntrada;
import Negocio.Estorno;
import Negocio.ControladorEstornoEntrada;
public class DAOEstornoEntrada implements IDAOEstornoEntrada{

public static DAOEstornoEntrada daoestornoentrada = null;
	
	private DAOEstornoEntrada(){
		
	}
	
	public static DAOEstornoEntrada getInstance(){
		if(daoestornoentrada==null){
			daoestornoentrada = new DAOEstornoEntrada ();
		}
		return daoestornoentrada;
	}

	@Override
	public EstornoEntrada consultarItem(EstornoEntrada estorno) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void estornarItem(EstornoEntrada estornoentrada) {
		ResultSet retorno;
		String comando;
		int qtd = 0;
		int retirada;
		try{
			BancoSql conexao = new BancoSql();
			conexao.AbrirConexao();
			
			comando = "select quantidade_inserida from item where codigo_item = " + estornoentrada.getCodigodoitem(); 
			retorno = conexao.ExecutaComandoRetorno(comando);
			while(retorno.next()){
				qtd = retorno.getInt("quantidade_inserida");
			}
			comando = "";
			
			retirada = qtd - estornoentrada.getQtdestornada() ;
			
			comando = "update Item set quantidade_inserida = " + retirada;
			comando = comando + " where codigo_item = " + estornoentrada.getCodigodoitem();
			conexao.ExecutaComando(comando);
			JOptionPane.showMessageDialog(null,"Estorno Entrada Realizado com Sucesso" );
			conexao.FecharConexao();
        }catch (SQLException e){
			JOptionPane.showMessageDialog(null, "Erro na conexao" );
		}
		
	}
}
